﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using BUS;
using DTO;


namespace QLVBDQ
{
    /// <summary>
    /// Interaction logic for ThongTinTho.xaml
    /// </summary>
    public partial class ThongTinTho : UserControl
    {
        public ThongTinTho()
        {
            InitializeComponent();
        }

        private void listTho_SelectionChanged(object sender, EventArgs e)
        {
            if (this.listTho.SelectedIndex != -1)
            {
                Tho_DTO item = (Tho_DTO)this.listTho.SelectedItem;
                this.maTho.Text = item.MaTho.Trim(' ');
                this.tenTho.Text = item.TenTho.Trim(' ');
                this.diaChi.Text = item.DiaChi.Trim(' ');
            }
            else
            {
                this.maTho.Text = string.Empty;
                this.tenTho.Text = string.Empty;
                this.diaChi.Text = string.Empty;
            }
        }

        private void btnThemTho_Click(object sender, RoutedEventArgs e)
        {
            Tho_DTO item = new Tho_DTO("",this.tenTho.Text,this.diaChi.Text);
            this.listTho.SelectedItem = -1;
            if (MessageBox.Show("Bạn muốn thêm thợ vừa nhập?", "Thông Tin", MessageBoxButton.OK) == MessageBoxResult.OK)
            {
                if (!Tho_BUS.Instance.ThemThoMoi(item))
                {
                    MessageBox.Show("Thêm không thành công!");
                    return;
                }
                else
                {
                    MessageBox.Show("Thêm Thành Công!");
                    this.listTho.Items.Clear();
                    LoadThongTinTho();
                    this.maTho.Text = string.Empty;
                    this.tenTho.Text = string.Empty;
                    this.diaChi.Text = string.Empty;
                    tenTho.Focus();
                }
            }
        }

        private void btnSuaTho_Click(object sender, RoutedEventArgs e)
        {
            Tho_DTO item = (Tho_DTO)this.listTho.SelectedItem;
            if (item ==null)
            {
                MessageBox.Show("Bạn phải chọn 1 thợ để sửa thông tin");
                return;
            }
            item.TenTho = this.tenTho.Text;
            item.DiaChi = this.diaChi.Text;
            if (MessageBox.Show("Bạn muốn sửa thông tin của thợ được chọn?", "Thông Tin", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
            {

                if (!Tho_BUS.Instance.SuaThongTinTho(item))
                {
                    MessageBox.Show("Sủa không thành công!");
                }
                else
                {
                    MessageBox.Show("Sửa Thành Công!");
                    this.listTho.Items.Refresh();
                }
            }
            
        }

        private void btnXoaTho_Click(object sender, RoutedEventArgs e)
        {
            Tho_DTO item = (Tho_DTO)this.listTho.SelectedItem;
            if (item == null)
            {
                MessageBox.Show("Bạn phải chọn 1 thợ để xóa thông tin");
                return;
            }
            if (MessageBox.Show("Bạn muốn xóa thông tin của thợ được chọn?", "Thông Tin", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
            {

                if (!Tho_BUS.Instance.XoaThongTinTho(item))
                {
                    MessageBox.Show("Xóa không thành công!");
                }
                else
                {
                    MessageBox.Show("Xóa Thành Công!");
                    this.listTho.Items.Remove(item);
                    LoadThongTinTho();
                    this.listTho.Items.Refresh();
                    
                }
            }

        }


        private void LoadThongTinTho()
        {
            this.listTho.Items.Clear();
            List<Tho_DTO> _list = Tho_BUS.Instance.LayToanBoTho();
            if (_list == null)
                return;
            for (int i = 0; i < _list.Count; i++)
            {
                _list[i].STT = i + 1;
                this.listTho.Items.Add(_list[i]);
            }
        }

        private void UserControl_Loaded(object sender, EventArgs e)
        {
            LoadThongTinTho();
        }

        
    }
}
